//
//  HPStatuses.swift
//  MyWeibo
//
//  Created by apple on 16/4/13.
//  Copyright © 2016年 Apengpeng. All rights reserved.
//

import UIKit

class HPStatuses: NSObject {

    // 成员变量
    var id: Int64 = 0
    var created_at: String?
    var source: String?
    var text: String?
    var user: HPUsers?
    
    /// 转发的数量
    var reposts_count: Int = 0
    /// 评论的数量
    var comments_count: Int = 0
    /// 赞的数量
    var attitudes_count: Int = 0
    
    //转发微博
    var retweeted_status: HPStatuses?
    
    // 微博中的图片
    var pic_urls: [HPStatusPicture]?
    
    // 构造字典转模型方法
    init(dict: [String : AnyObject] ) {
        super.init()
        setValuesForKeysWithDictionary(dict)

    }
    
    // 过滤数据, 把user转为模型
    override func setValue(value: AnyObject?, forKey key: String) {
        
        // 拦截user的数据
        if key == "user" {
            // 强制解包并指定类型
            user = HPUsers(dict: value as! [String : AnyObject])
            return
        }
        
        // 转发微博字典转模型
        if key == "retweeted_status" {
            // 字典转模型
            retweeted_status = HPStatuses(dict: value as! [String:AnyObject])
            return
        }
        
        
        // 微博图片模型,
        if key == "pic_urls" {
            // 数组中存放字典, 字典是图片的url 和对应的key 都是字符串
            let array = value as! [[String : String]]
            var tempArray = [HPStatusPicture]()
            for pic_urlDict in array {
                let pic = HPStatusPicture(dict: pic_urlDict)
                tempArray.append(pic)
            }
            
            pic_urls = tempArray
            return
        }
        
        // 让父类继续转后面的模型
        super.setValue(value, forKey: key)
    }
    
    // 防止报错
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {    }
    
}
